package com.qualityin.mall.demo.service;
import com.github.pagehelper.Page;
import com.qualityin.mall.common.util.object.JSONUtil;
import com.qualityin.mall.common.util.web.bean.GenericService;
import com.qualityin.mall.demo.dao.DemoDao;
import com.qualityin.mall.demo.entity.Demo;
import com.qualityin.mall.demo.entity.QueryDemo;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import javax.ws.rs.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @Description:
 * @author:Steven
 * @date 2017/9/5 17:33
 */
@Service
public class DemoService extends GenericService {
    @Resource DemoDao demoDao;
	/*
	 * 注意事项：类注释一定要写
	 * 1.方法顺序:按照增删改查的顺序，即add,delete,update,get
	 * 2.方法名：驼峰。
	 * 3.变量：尽量减少声明变量的次数。
	 * 4.注意写日志，注释。
	 * */
    /**
     * 保存demo，包括新增和修改
     * @param demo
     * @return
     */
    public void saveDemo(Demo demo) {
        System.out.println(1 / 0);
        Integer id=demo.getId();
        if(id!=null){
            LOGGER.info("新增demo：" + demo);
            demoDao.addDemo(demo);
        }else{
            LOGGER.info("新增demo：" + demo);
            demoDao.updateDemo(demo);
        }
    }
    /**
     * 删除demo
     * @param id
     * @return
     */
    public void deleteDemo(int id) {
        LOGGER.info("删除demo，id为：" + id);
        demoDao.deleteDemo(id);
    }

    /**
     * 获取demo信息
     * @param id
     * @return
     */
    public Demo getDemo(Integer id) {
        Demo demo = demoDao.getDemo(id);
        LOGGER.info("获取id为[" + id + "]的demo信息：" + demo);
        return demo;
    }
    /**
     * 获取demo列表
     * @return
     */
    public List<Demo> getDemoList(QueryDemo queryDemo) {
        List<Demo> demoList = demoDao.getDemoList(queryDemo);
        queryDemo.setTotalResultSize(((Page) demoList).getTotal());
        return demoList;
    }
}